Peer-to-Peer network users issue over 800 million searches a day compared to the 250 million searches a day users issue on the World Wide Web. A Peer-to-Peer network relies primarily on the computing power and bandwidth of participants in a network and are generally used for connecting nodes via connections. One use for such a network is sharing content files. Content files may contain audio, video, data, or other digital formats. The content is typically accessed in real-time data using Peer-to-Peer technology. To access a Peer-to-Peer network for sharing, a user utilizes a Peer-to-Peer network software application that is capable of connecting to the Peer-to-Peer network.
An example Peer-to-Peer network includes multiple nodes, where each node has a file server and a client capable of sending and receiving data, such as a “communication message” between nodes. A node is typically connected to other nodes in a network. In some Peer-to-Peer networks, a node connects to other nodes over a communications path, such as the Internet or proxy. For example, FIG. 1 shows a Peer-to-Peer network connection capable of searching for shared files. To search on a Peer-to-Peer network, a process issues a search request and an originating node sends the search request to receiving nodes (e.g., each node that the originating nodes is connected). Each receiving node searches for a match and responds to the requesting node with location information for each match. Another variation of a Peer-to-Peer network is shown in FIG. 3. In particular, FIG. 3 shows a non-proxy loop network wherein each node is directly connected to another.
In other Peer-to-Peer proxy networks, there may be multiple nodes as illustrated in FIG. 2. FIG. 2 shows node A connected to node B and, in turn, node B is connected to node C. In this example, node A is not directly connected to node C. In use, node A issues a search request to node B and node B searches shared files for a match. If a match is found, node B sends a response back to node A including a location for the shared file. After responding to node A, node B forwards node A's request to node C. In response, node C searches the shared files for a match and responds to node B with a location of each shared file. Node B then forwards a response back to node A.
Peer-to-Peer networks may also use a leaf node/main node proxy topology as illustrated in FIG. 4. In this network variation, one or more nodes are classified as main nodes and the other nodes are classified as leaf nodes. A leaf node may only connect to main nodes and main nodes can connect to other main nodes. Thus, if a leaf node issues a search request, the leaf node sends the search request to a main node connects to the leaf node. Upon receiving the search request, the main node forwards the request to each leaf node and main nodes connected to the requesting main node. The receiving main node forwards each search request to each of the leaf nodes that they are in connection with.
In some cases, Peer-to-Peer networks can include millions of nodes that use a large amount of bandwidth. To reduce the bandwidth used in operating such networks, many Peer-to-Peer networks restrict the “distance” of messages traveling the network (e.g., limit hops or Time to Live (TTL)). For example, a Peer-to-Peer network may be limited to performing only five hops as shown in FIG. 5. For example, Node A may issue a search request to Node B. In turn, Node B passes the search request to Node C, and so forth until reaching Node F. Since, the Peer-to-Peer network is limited to five hops, the search requests end at Node F and do not pass to any additional nodes. It is useful to note that other mechanisms are also employed in networks for limiting the search capabilities of users.
FIG. 6 shows network nodes communicating over a transmission distance of three nodes. In particular, node A 605 communicates with each node within the A circle 610. Similarly, node B 615 communicates with each node within the B circle 620. Likewise, node C 625 communicates with each node within the C circle 630 and with each node within the B circle 620 that is overlapping the C circle 630. However, no node can communicate with a non-overlapping area or within a corresponding circle. Thus, there is a need to access nodes without regard to location while using unlimited search requests in a manner positive to business development.